技術問答
技術文章
iT 徵才
Tag
聊天室
2024 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2019 iT 邦幫忙鐵人賽
DAY
19
0
自我挑戰組
作業系統概論
系列 第
19
篇
DAY 19 Memory Management(中)
2019鐵人賽
betty1005
團隊
77乳加巧克力
2018-11-03 23:11:30
5683 瀏覽
分享至
Swapping
process可以被swap,暫時退出記憶體到後方儲存,然後再帶回到記憶體繼續執行。
Backing-store:快速硬碟足以容納所有使用者的所有記憶體影像旳備份,供直接存取給這些記憶體影像。
Roll out,roll in:用於priority-based排程演算法,低優先的process被換出,所以可以加載和執行高優先權的process。
系統維持ready-to-run process的ready queue,而此ready queue在磁碟上有記憶體影像。
換出的process需要換回到同樣的physical address嗎?
依賴在address binding方法:
考慮在I/O的期間,或從記憶體空間的期間。
swapping的改版,可以在多個系統上找到:
但通常被禁用。
如果閾值分配的記憶體更多的話,就開始。
一旦記憶體需求小於閾值或以下的話,便再禁用。
Context Switch Time including Swapping
如果下個process是被放入CPU而不是記憶體的話,需要去swap出這個process到目標process。
上下文切換時間可以非常快。
100MB的process可以swap到硬碟上,是50MB/sec的傳送速率。
如果減少記憶體swap的尺寸,可以知道有多少記憶體現在真正在使用。
透過使用記憶體的system call 去通知OS。
在swapping上也有其他約束:
在I/O期間,不能swap出去,不然會發生錯誤的process。
傳遞I/O到kernel space,再然後到I/O device。
標準swap不在現代的OS中使用。
當free memory非常低時才使用。
Swapping on Mobile Systems
通常不支持:
flash memory based:
space的小部份。
寫cycle的有限數量。
在flash memory和CPU在mobil platform間,throughput很差。
如果低swapping的話,使用其他方法釋放記憶體。
iOS要求apps自願放棄被分配的記憶體。
如果需要,將會拋出去或重新加載read-only data。
無法釋放可能導致終止。
如果記憶體可用的很低,Android將會終止apps,但首先將apps狀態寫進,以便快速重啟。
留言
追蹤
檢舉
上一篇
DAY 18 Memory Management(上)
下一篇
DAY 20 Memory Management(中下)
系列文
作業系統概論
共
30
篇
目錄
RSS系列文
訂閱系列文
46
人訂閱
26
DAY 26 File-System(檔案系統) (上)
27
DAY 27 File System(檔案系統) (下)
28
DAY 28 Implementing File Systems(檔案系統執行) (上)
29
DAY 29 Implementing File System(檔案執行系統) (中)
30
DAY 30 Implementing File System(檔案執行系統) (下)
完整目錄
直播研討會
{{ item.subject }}
{{ item.channelVendor }}
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
1064
組
團體組數
40
組
累計文章數
22203
篇
完賽人數
602
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
vue.js
熱門問題
要怎知道LINE使用者的使用地址
防火牆互通問題
桌面的使用者文件圖標壞掉
Cisco 防火牆密碼確認正確,可是無法登入
函數問題
幫忙下載百度網盤
開啟Microsoft Edge 瀏覽器無法開啟網頁,出現錯誤訊息
一開機就自動鎖定帳戶
bat檔截斷問題
if函數中的>&<&=是否可以使用儲存格代替
熱門回答
防火牆互通問題
outlook無法收發信
開啟Microsoft Edge 瀏覽器無法開啟網頁,出現錯誤訊息
Palo alto防火牆網頁解密問題?
if函數中的>&<&=是否可以使用儲存格代替
熱門文章
[翻譯]使用AI工具寫程式碼時如何避免「AI幻覺」?
每日一篇學習筆記 直到我做完專題 :( [Day4]
每日一篇學習筆記 直到我做完專題 :( [Day5]
每日一篇學習筆記 直到我做完專題 :( [Day6]
每日一篇學習筆記 直到我做完專題 :( [Day7]
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}